package model.entity;


public class Code implements Comparable<Code>{
	private String prefix;
	private Integer secuencial;

	public Code(String prefix, Integer secuencial) {
		super();
		this.prefix = prefix;
		this.secuencial = secuencial;
	}

	public String getPrefix() {
		return prefix;
	}

	public void setPrefix(String prefix) {
		this.prefix = prefix;
	}


	public Integer getSecuencial() {
		return secuencial;
	}

	public void setSecuencial(Integer secuencial) {
		this.secuencial = secuencial;
	}
	
	@Override
	public String toString() {
		return prefix +String.format("%04d", secuencial);
	}
	
	@Override
	public int compareTo(Code o) {
		int result = 0;
		String uno = this.getPrefix() == null ? "" : this.getPrefix();
		String dos = o.getPrefix() == null ? "" : o.getPrefix();
		result = uno.compareTo(dos);
		if(result == 0){
			result = this.getSecuencial().compareTo(o.getSecuencial());
		}
		return result;
	}
}
